package com.uade.tp.persistencia;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;

import com.uade.tp.negocio.ComidaPedido;

public class AdministradorPersistenciaComidaPedido {
private static AdministradorPersistenciaComidaPedido pool;
	
	
	private AdministradorPersistenciaComidaPedido()
	{
		
	}
	
	public static AdministradorPersistenciaComidaPedido getInstancia()
	{
		if (pool== null)
			pool = new AdministradorPersistenciaComidaPedido();
		return pool;
	}
	
	public void insert(ComidaPedido cp,int idpedido)
	{
		//Obtener conexion BD 
		Connection con = PoolConnection.getPoolConnection().getConnection();
		
		//Generar sentencia SQL
		try
		{
			//Preparar sentencia insert en tabla destino
			String senten = "INSERT INTO  ComidasPedidos (idpedido,comida,cantidad) VALUES (?,?,?)" ;
			PreparedStatement ps = null;
 			ps = con.prepareStatement(senten);
			ps.setInt(1,idpedido);
			ps.setString(2,cp.getComida().getNombre());
			ps.setInt(3,cp.getCantidad());
								
			ps.execute();
			
			PoolConnection.getPoolConnection().realeaseConnection(con);
			
		}
	      catch( SQLException e ) 
	      {
				System.out.println("Mensaje Error al insertar la Comida del Pedido: " + e.getMessage());
				System.out.println("Stack Trace al Insertar Comida del Pedido: " + e.getStackTrace());
				PoolConnection.getPoolConnection().realeaseConnection(con);
	      }
	}
	public void update(ComidaPedido cp,int idpedido)
	{
		//Obtener conexion BD 
		Connection con = PoolConnection.getPoolConnection().getConnection();
		
		//Generar sentencia SQL
		try
		{
			//Preparar sentencia insert en tabla destino
			String senten = "UPDATE ComidaPedidos set idpedido = ? ,comida= ?,cantidad= ?" ;
			PreparedStatement ps = null;
			ps = con.prepareStatement(senten);
			ps.setInt(1,idpedido);
			ps.setString(2,cp.getComida().getNombre());
			ps.setInt(3,cp.getCantidad());
			ps.execute();
			
			PoolConnection.getPoolConnection().realeaseConnection(con);
			
		}
	      catch( SQLException e ) 
	      {
				System.out.println("Mensaje Error al Modificar Comida del Pedido: " + e.getMessage());
				System.out.println("Stack Trace al Modificar Comida del Pedido: " + e.getStackTrace());
				PoolConnection.getPoolConnection().realeaseConnection(con);
	      }
	
	}
}
